package org.jeecg.modules.xl.order.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;


/**
 * 订单详情数据传输对象
 */
@Data
public class OrderExport implements Serializable {

    /**
     * id
     */
    private String id;

    /**
     * 省份
     */
    @Excel(name = "省份", width =15)
    private String province;

    /**
     * 城市
     */
    @Excel(name = "城市", width = 15)
    private String city;


    /**创建日期*/
    @Excel(name = "订单时间", width = 15 ,format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    /**审批时间*/
    @Excel(name = "审批时间", width = 15 ,format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date auditTime;

    private String kmSid;
    private String isDebt;
    //@Excel(name = "", width = 15)
    private String createBy;

    /**
     * 一级分类
     */
    @Excel(name = "一级分类", width = 15)
    private String l1type;

    /**
     * 二级分类
     */
    @Excel(name = "二级分类", width = 15)
    private String l2type;


    /**
     * 订单编码
     */
    @Excel(name = "订单编号", width = 25)
    private String orderCode;
    //订单状态
    @Excel(name = "订单状态", width = 25)
    private String orderStatus;
    /**
     * 发货方式
     */
    @Excel(name = "发货方式", width = 15,dicCode = "delivery_way")
    private String deliveryWay;

    /**
     * 店铺编码
     */

    private String storeCode;

    /**门店渠道类型*/
    private String customerTypeCode;
    /**门店渠道类型*/
    @Excel(name = "渠道类型", width = 25)
    private String customerType;
    /**
     * 店铺编码
     */
    @Excel(name = "门店名称", width = 25)
    private String storeName;
    @Excel(name = "门店分类")
    private String storeType;
    /**
     * 品牌名称
     */
    @Excel(name = "品牌名称", width = 15)
    private String brand;

    /**
     * 产品ID
     */

    private String productId;

    /**
     * 产品UPC编码
     */
    @Excel(name = "产品UPC编码", width = 35)
    private String upcCode;

    /**
     * 产品名称
     */
    @Excel(name = "产品名称", width = 40)
    private String productName;

    /**
     * 产品规格
     */
    @Excel(name = "产品规格", width = 15)
    private String productSpec;



    /**
     * 产品价格
     */
    @Excel(name = "产品价格", width = 15)
    private BigDecimal productPrice;

    @Excel(name = "订单数量", width = 15)
    private BigDecimal orderQuantity;

    /**
     * 订单金额
     */
    @Excel(name = "订单金额", width = 15)
    private BigDecimal orderAmount;

    /**
     * 售后数量
     */
    @Excel(name = "售后数量", width = 15)
    private BigDecimal aftersaleQuantity;

    /**
     * 售后金额
     */
    @Excel(name = "售后金额", width = 15)
    private BigDecimal aftersaleAmount;

    /**
     * 实际数量
     */
    @Excel(name = "实际数量", width = 15)
    private BigDecimal realQuantity;
    /**
     * 实际数量
     */
    @Excel(name = "应收金额", width = 15)
    private BigDecimal realAmount;


    private BigDecimal paymentAmount;

    /**
     * 审核状态
     */
    @Excel(name = "审核状态", width = 15, dicCode = "audit_state")
    private String auditState;

    /**售后原因*/
    @Excel(name = "售后原因", width = 15, dicCode = "slt_aftersale_renson")
    private String reason;
    /**
     * 支付状态
     */
    @Excel(name = "支付状态", width = 15, dicCode = "payment_state")
    private String paymentState;

    /**
     * 发货状态
     */
    @Excel(name = "发货状态", width = 15, dicCode = "shipment_state")
    private String shipmentState;

    /**
     * 售后备注
     */
    @Excel(name = "售后备注", width = 15)
    private String woNote;

    /**
     * 收货电话
     */
    @Excel(name = "收货电话", width = 15)
    private String receiptPhone;

    /**
     * 收货地址
     */
    @Excel(name = "收货地址", width = 15)
    private String receiptAddress;


    /**付款时间*/
    @Excel(name = "付款时间", width = 15 ,format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date paymentTime;
}
